package com.turing.post.cardmanagement.util;

import java.math.BigInteger;
import java.util.List;

import com.turing.post.util.PCPSApplicationException;
import com.turing.post.util.PCPSWebInput;

/**
 * @author zxp
 * @Mar 12, 2013
 */
public interface ProxyIssueDao {

	/**
	 * 根据主键查询
	 * 
	 * @param cardFaceId
	 * @return
	 */
	public ProxyIssue getProxyIssueByProxyIssueBin(String proxyIssueBin);

	/**
	 * 下拉
	 * 
	 * @param input
	 * @return
	 */
	public List<ProxyIssue> getProxyIssueDropDownList(PCPSWebInput input);

	/**
	 * 分页查询列表
	 * 
	 * @param input
	 * @param cardFaceName
	 * @param page
	 * @return
	 */
	public List<ProxyIssue> getProxyIssueListByCondition(PCPSWebInput input,
			Integer page);

	/**
	 * 总记录数
	 * 
	 * @param input
	 * @param cardFaceName
	 * @return
	 */
	public BigInteger getProxyIssueTotalByCondition(PCPSWebInput input);

	/**
	 * 新增代发卡
	 * 
	 * @param input
	 * @param proxyIssue
	 * @throws PCPSApplicationException
	 */
	public void insertProxyIssue(PCPSWebInput input, ProxyIssue proxyIssue)
			throws PCPSApplicationException;

	/**
	 * 修改代发卡
	 * 
	 * @param input
	 * @param proxyIssue
	 * @throws PCPSApplicationException
	 */
	public void updateProxyIssue(PCPSWebInput input, ProxyIssue proxyIssue)
			throws PCPSApplicationException;

	/**
	 * 删除代发卡
	 * 
	 * @param input
	 * @param proxyIssue
	 * @throws PCPSApplicationException
	 */
	public void deleteProxyIssue(PCPSWebInput input, String proxyIssue)
			throws PCPSApplicationException;
}
